const config = require('../config/config');
const log4js = require('log4js');

log4js.configure({
    appenders: {
        production: {
            type: 'file',
            filename: 'out.log',
            alwaysIncludePattern: true,
            keepFileExt: true,
            daysToKeep: 30,
            layout: {
                type: 'pattern',
                pattern: '%r %p - %m',
            }
        },
        out: {
            type: 'stdout'
        }
    },

    categories: {
        default: {appenders: ['production','out'], level: config.LOG.level}
    }
});

const logger = log4js.getLogger();

module.exports = {
    info: function (msg) {
        logger.info(msg);
    },

    err: function (msg) {
        logger.error(msg);
    },

    warn: function (msg) {
        logger.warn(msg);
    },

    debug: function (msg) {
        logger.debug(msg);
    },

    out: function (msg, level) {
        if (level === 'info') {
            this.info(msg);
        } else if (level === 'warn') {
            this.warn(msg);
        } else if (level === 'error') {
            this.err(msg);
        } else if (level === 'debug') {
            this.debug(msg);
        } else {
            this.info(msg);
        }
    }
};

